Heat protected position transducer in an electric motor

ABSTRACT

An encoder disc (101) of an optical position transducer is mounted on a short protruding part (102a) of a rotor (102) of an electric motor close to torque creating parts. One part of the optical system, normally the light emitter part (108, 115), is insertable between the rotor (102) and the encoder disc (108) after the insertion of the rotor-encoder disc assembly into the motor stator case (113). The optical incremental encoder signals are fed both to a moderate frequency digital counter that counts (4) counts per basic encoder period and to an AD converter that samples and digitises the primary encoder analog signals. A synchronising network ensures that the primary encoder digitised signal corresponds to the correct state of the digital counter. More than one decoder head can be used to compensate for the bearing play common in servo motors having varying axial loads. This construction gives a high speed resolution and fast speed response, is very compact and operates with modest demands on bearing precision.

TECHNICAL FIELD

The invention relates to position and/or velocity transducers forproviding signals in regard of the position or velocity of a movablepart, in particular of a rotor of an electric motor or generator.

BACKGROUND

There is an increasing need for stiff and compact servo motor systems.To be stiff, a servo motor system must be able to give a fast responseto large and unexpected external torques. A fast response requires avery high resolution and a very low delay in the speed signal.

Analog electrodynamic tachometer generators offer a solution providinghigh resolution but it is difficult to build them so as to give a lowdelay. The generator adds a not negligible inertia to the rotor. Thetorsional stiffness in the mechanic coupling of the tachogenerator tothe motor rotor is limited, and this gives a resonance frequency thatlimits the possible bandwidth of the servo motor control loop.Torsionally very stiff designs require mechanically very compactassemblies of the motor and the tacho generator. However, highresolution tacho generators should not be attached close to the motor asthe stray flux from the motor windings might affect the output voltageof the tacho generator in the case where the two units are located tooclose to each other. Tachos also adds considerable cost and increase thesize of the motor system.

Transducers that detect or sense rotary or linear motion by using atleast two periodic primary signals having a phase difference in theorder of magnitude of 90 degrees such as a resolver or an opticalincremental encoder have been used for many decades of years. Resolversand synchros can be made with very high resolutions but the costs ofhigh resolution units are very high. The time delay from a motor speedchange to the corresponding change of the detector output signal is notnegligible since the torsional stiffness of mechanical coupling of theresolver to the motor rotor is limited, and this gives a resonancefrequency that limits the possible bandwidth of the motor control loop.Torsionally very stiff designs require mechanically very compactassemblies of the motor and the resolver. High resolution resolversshould however not be mounted close to the motor as the stray flux fromthe motor windings might affect the output voltage of the resolver inthe case where the two units are located too close to each other.

Incremental transducers are commonly used to give angular positioninformation. By reading position data repetitively at known timeintervals, an approximate value of the velocity can be obtained. Theprimary signal from optical incremental transducers are normallyprocessed in one of two ways. In the first way the analog primarysignals are compared to a reference level thus converting the basicsinus signal to a square wave binary signal that is fed to a counterchain that is readable from a computer.

In the second way, the signal is fed to a "multiplying" network thatdigitalizes the data based on the assumption that the analog signalshave a constant amplitude and are sinusoidal. Such converters can forexample convert one period of a sinusoidal input signal to 5 or 100periods of the square wave output signals.

At low speeds, the limited resolution of a digital incremental encodergives very high quantification errors in the speed estimate. Withstandard decoding electronics that gives 4 count pulses per period, evena 5000 line encoder gives only 20000 positions per turn. At a relativelyhigh speed like 15 rpm and a test interval of 200 μs, the change inposition is approximately 15/60*20000*0.0002=1 unit, which due toquantification errors can give either 0, 1 or 2 units as a speedestimate input signal to a control algorithm.

The resolution problem can be reduced by using encoders comprising morelines or by using interpolation circuits that generate for example 100counts for every period of the basic encoder signal. Hardwareinterpolation requires a very high signal quality; the amplitude of theprimary signals must be constant over one full turn and over time, andthe shape of the primary signals must fit the assumptions for which themultiplier circuit has been designed, and they must do so over the fullturn and over time. The linearity of these converters depends on thelinearity of the primary sinus signals, and much work has been investedin different ways to obtain very linear output signals.

Both high line count encoders and encoders having a signal qualitysuitable for high factor interpolation put stringent demands on thelight source and the mechanical properties of the encoder system. Even a5000 line encoder normally operates with a 20 to 30 μm gap betweenencoder disc and receiver mask pattern. Incremental encoders suitable togive a high speed resolution therefore require encoder discs havingseparate bearings. Such arrangements add length and cost to the motorsystem.

PRIOR ART

Position and velocity transducers suitable for rotating parts are forinstance disclosed in the patent documents DE-A1 27 11 593, DE-A1 35 27128, DE-A1 38 13 754, DE-A1 39 14 557, DE-C2 39 01 546, U.S. Pat. No.4,990,767, U.S. Pat. No. 4,794,251, U.S. Pat. No. 4,580,047, U.S. Pat.No. 4,580,046, JP-A 57-169611, JP-A 63-6418.

The German patent document DE-C2 32 39 108 for Dr Johannes HeidenhainGmbH discloses a device having more than two signals of differentphases, for example signals having phase differences of 0°, 30°, 60°,90°, 120° and 150°. Improved two phase signals can be produced bymultiplying these six primary signals by factors obtained from a fourieranalysis of the shape of the six primary signals and byadding/subtracting these multiplied values to obtain two new signalshaving a phase difference of 90° to each other.

The European patent application EP-A1 0 541 827, also for Dr JohannesHeidenhain GmbH, discloses several arrangements for obtaining a moresinusoidal shape of the signals generated by an incremental encoder byhaving a pitch of the encoder mask transparent and opaque lines that isdifferent from the pitch of the transparent and opaque lines of theencoder disc.

The company Max Stegmann GmbH has in 1994 introduced a system namedSINCOS. The linearity of the sinus signals is claimed to be improved byusing photodiodes in a triangular pattern. The pattern of thephotodiodes replaces the encoder mask. To reduce the influence ofcontaminated encoder discs, of unavoidable deviations from an ideal,flat encoder disc surface and variations of the illumination LED due totemperature and age, the two output phase signals are sampledsimultaneously at regular intervals. The sampled data are squared andadded; the sum should give a constant value, as k(sin² φ+cos² φ) shouldbe k regardless of φ. Deviations from the expected value k isinterpreted as a fault in the light source and is fed back by adjustingthe LED current.

Position detectors that gives a high resolution position information atdiscrete time intervals, for example once every 100 μs, are quitesufficient for a servo motor controller system that can use thisinformation for controlling the motor torque to obtain theposition/velocity profile required. Motor controllers are often used inmore complex systems where other devices are dependent on obtainingprecise position information using signal protocols and/or requiringdata at times not synchronised with the update time of the positiondetector. There is therefore often a need for transforming periodicallyavailable high resolution data to a data stream compatible with the twophase signals obtained from a classical digital output position encoder.The European patent application EP-A1 0 414 953 discloses such a systemwhich however has a very poor resolution of the two phase outputsignals.

SUMMARY

It is an object of the invention to provide a position/velocitytransducer that has a very high resolution.

It is another object of the invention to provide a position/velocitytransducer that has very small dimensions.

Another object of the invention is to provide a position/velocitytransducer that can be integrated into a motor with very limitedincrease of the dimensions of the combined motor-encoder assemblycompared to the size of the motor.

It is another object of the invention to provide a position/velocitytransducer having a high resonance frequency in mechanical coupling ofthe motor rotor to the transducer system.

It is another object of the invention to provide a position/velocitytransducer that permits a high precision.

It is another object of the invention to provide a position/velocitytransducer that permits a high resolution even when mounted directly onthe motor shaft and thus using the motor bearings instead of having ownbearings.

It is another purpose of the invention to provide an encoder signalprocessing method that has a very high resolution and still permits theuse of primary signals that have shapes that deviate from a sinusoidalshape with low distortion, that is have a very low intensity of upperharmonics.

It is another object of the invention to provide an encoder signalprocessing method that permits the use of primary signals that haveamplitudes that vary depending on the angle of the encoder.

It is another object of the invention to provide an encoder signalprocessing method that permits a high resolution of position atspecified points of time, for example once or twice for every positioncontrol loop in a servo system.

It is another object of the invention to provide an encoder signalprocessing method that permits a high precision even when using opticalelements of limited quality.

It is another object of the invention to provide an encoder signalprocessing method that permits a high precision obtained from signalsthat vary in shape from one encoder to another in the same batch.

It is another object of the invention to provide a position/velocitytransducer system that gives output signals compatible with the signalsfrom a high quality digital output optical encoder.

It is another object of the invention to use time discrete positioninformation to provide an output data stream that is compatible withdata from an incremental encoder having a customer specified number ofperiods for a full turn.

It is another object of the invention is to use time discrete positioninformation to provide an output data stream that is compatible withdata from an incremental encoder having not only a customer specifiedintegral number of periods for a full turn, but also permitting virtualincremental encoders having a non-integer number of periods per turn.

It is another object of the invention to use time discrete positioninformation to provide an output data stream that is compatible withdata from an incremental encoder having a customer specified zero pulse.

The objects above are achieved by the invention, the characteristics andfeatures of which appear from the appended claims.

The invention provides a position and velocity transducer that has ahigh speed resolution and a fast speed response and that is very compactand operates with modest demands on the precision of the bearings. Thetransducer is based on an optical encoder. When assembled in motors, theencoder disc is assembled on a short protruding part of the rotor closeto the torque creating parts. The transducer thus has a very rigid andspace saving connection between encoder and motor rotor that permits ahigh resonance frequency of the mechanical system rotor/encoder. Thisarrangement is made possible by making one part of the optical system,normally the light emitter part, insertable between rotor and theencoder disc after the introduction of the rotor-encoder disc assemblyinto the motor stator case. The optical incremental encoder signals arefed both to a moderate frequency digital counter that counts 4 countsper basic encoder period and to an AD-converter that samples anddigitises the primary encoder analog signals. A synchronising networkensures that the primary encoded digitised signals correspond to thecorrect state of the digital counter. The sampled and digitised analogsignals are read by a processor using a linearisation algorithm whichyields position information that locally is highly continuous thuspermitting good speed estimation also for low speeds when a differenceis calculated using position data representing rotor positions veryclose to each other. If so required, the transducer can be calibrated.The data from such a calibration permits a more precise algorithm thatyields position information that is highly linear over the whole activerange of the transducer. In order to give outputs compatible withpresently commonly used multi-axis controllers, a digital logic networkis used. This network is supplied with periodically calculated positionand speed data for transforming these data to a high resolution signalthat is compatible with that of a high quality optical incrementalencoder. Optionally, more than one decoder head can be used tocompensate for the bearing play common in servo motors having varyingaxial loads. In the case position information during power off isrequired, the light emitter part can be divided into filament ortungsten lamps or LED's that are operating continuously during power onand that illuminates the high resolution encoder, and LED devices thatilluminate a very low resolution track and that in low power mode arepulsed on only at short intervals to permit tracking of slow motormovements while the main power is off. The low resolution track canadvantageously also be used to obtain commutation information at powerup of the motor.

A position encoder thus has one or several light sources and a movableencoder disc with at least one track having a multitude of adjacentfields of high and low transparency. An encoder mask is arranged havingat least two openings, each opening having several adjacent fields ofhigh and low transparency normally with the same pitch as the fields ofthe movable encoder disc but may have a pitch deviating from the pitchof the movable encoder disc in order to obtain better signal shape, themovable encoder disc and the encoder mask being separated by a veryshort distance. Further, light detectors are placed so that light fromthe light source basically must pass through both the encoder disc andan opening in the encoder mask to reach the light detector associatedwith that opening. The fields of the at least two mask openings arespaced apart relative each other in the normal way for incrementaloptical encoders so that the light transmitted through the two openingswill be basically 90 degrees out of phase one to the other. The encodermask and light detectors are assembled in or on the mechanical part(s)that connects one of the main motor bearings relative to the stator ofthe motor. The encoder light sources are assembled on a unit that innormal operation mode is mechanically locked to mechanical parts thatduring the normal operation of the motor are static relative to themechanical part or parts that connect one of the main motor bearingsrelative to the stator of the motor. During the assembly of the motorthe encoder light source unit is in another position so that the motorcan be assembled without the light source touching the encoder disc.After the assembly of the motor, the light source can be moved to andsecured in its normal operating position.

More specifically a position transducer is provided for determining theposition of a part movable in relation to another part, typically arotor of an electric machine movable in relation to a statorconstruction. The transducer comprises an encoder element attached to afirst one of the parts, a light source attached to the other, the secondone of the parts, and emitting light in paths, where the light isintersected by fields on the encoder element and a light detectorattached to the second part and arranged to sense light along the path,which has been intersected by the encoder element. The light source andthe light detector is arranged to be moved, in particular rotated, fromone position outside an edge of the encoder to a position adjacent to aside of the encoder element, this making a compact layout of therotor-stator possible.

The light source or the light detector will always comprise some spot orplace for emitting or receiving light in the path. This spot or placecan then be arranged on an L-shaped support structure having an armwhich projects from a shaft. The shaft can be rotated in an opening inthe second part and secured in a suitable position.

An encoder mask may be attached to the second part to cooperate with theencoder disc and it then, in the common way, has openings, through whichlight along the paths passes. To reduce stray light an opaque element,generally having flat shape, is placed between the light detector andthe encoder mask in the light paths. It has an opening for each openingin the mask, so arranged that each such opening in the opaque elementpermits light to pass therethrough to a light detector associated withthe corresponding opening in the mask. The openings in the opaqueelement should then have such a length in the direction of the lightpaths, that they block light from any opening except the openingassociated with a certain light detector to reach that light detector.In particular the openings can be made in a plate or disc-shaped opaquematerial element, the thickness of which is sufficiently large or atleast twice that of the width of the mask openings in a directionperpendicular to the longitudinal or radial direction of the fields ofdifferent transparency, these fields being very narrow for a highresolution.

At least walls of the openings in the opaque element may then beblackened to increase the absorption of light that hits the hole walls.

Electronic circuits of the transducer can be assembled with a lowthermal impedance path to a heat conductive part that faces the ambientair, generally some front or rear part of the motor. The electroniccircuits can also be assembled with a high thermal impedance pathbetween the electronic circuits and a heat conductive part that have alow thermal impedance to heat generating parts of the motor. Theelectronic circuits of the transducer can further be assembled with alow thermal impedance path to a heat conductive part that is cooled bycooling fins located thereon. The electronic circuits can be assembledwith a low thermal impedance path to a heat conductive part that iscooled by air from a fan mounted on the shaft of the rotor. Theelectronic circuits transducer can finally be assembled with a lowthermal impedance path to a heat conductive part that is cooled byliquid cooling, channels therefor being arranged in the heat conductivepart, e.g. in the front or rear part or shield of the motor.

The light source can comprise light elements for various uses, such asfor continuous illumination and they can then be lamps of the filamenttype or resistance heated type. Also light elements for intermittent usecan be arranged requiring a significantly smaller electric power fortheir operation than the continuous illumination lamps. A control devicewill then active the intermittent light elements only when the mainssupply is disrupted or for producing light pulses for special purposes.

The transducer can comprise at least two detector devices, each onereading one encoder disc track with a low resolution. These two devicesmay then be located and arranged so that they have a substantial phasedifference. These two devices are arranged to be, during a low powermode, energised with a low duty cycle, and therefore these two devicesare connected to a signal processing device, in particular a counter ora microprocessor, which arranged to interpret the possible state changesof the two devices in order to sense movements of the encoder disc.

The at least two detector devices can be arranged to read two encoderdisc tracks with the same low resolution. The low resolution track ortracks can also be used for commutation control of the electric motor.

There may be in the transducer at least two zero pulse patterns. The lowresolution track detector device signals concurrent with the occurrenceof a valid zero pulse are different for the different zero pulsepatterns, thereby enabling signal interpreting devices to identify whichof the zero pulse patterns that caused the zero pulse signal.

The particular arrangement can also be described by saying that apartially transparent encoder disc is assembled on the rotor shaftbetween the torque producing air gap of the motor and one of the rotorbearings and that a light source is placed on one side of the encoderdisc and light detector devices are placed on the opposite side of theencoder disc, this producing a most compact construction.

The rotor may then comprise a main rotor part, so that the air gap islocated at some surface thereof, e.g. an exterior cylindrical surface.Then there is a side surface of the main rotor part which is connectedto the first surface and here the encoder disc is mounted, inside abearing for the rotor. A step can be made in the side surface forattaching the encoder disc at the edge portion of the step, when theencoder disc has an annular shape. Such a mounting will achieve that amarginal circumferential portion of the encoder is freely available,located at distance from the side surface and here the encoder tracksare located to be read by a detector.

The position transducer can also be mounted in a motor in another way,where the motor comprises in the conventional way a rotor having a rotormain part and axles projection therefrom and two rotor bearings locatedat each side of the rotor main part for rotatably mounting the axles.The encoder disc can be made with a fairly small outer diameter and isrigidly attached to a first one of the rotor axles, for instance at anend surface thereof. The outer diameter can then be smaller than aninner diameter of the bearing which supports this axle allowing that therotor axle with the encoder disc attached thereto can be insertedthrough this bearing or that this bearing with an attached side plate orshield plate is moved over and around the axle and the encoder disc whenassembling the motor and the position transducer.

In the same manner as above, the first axle can comprise a step formounting the encoder disc. The encoder disc is then attached to asurface at this step for obtaining that a marginal circumferentialportion of the encoder disc is located at distance from surfaces of therotor and in particular of the first axle.

In another aspect, a partially transparent encoder disc is assembled ona rotor shaft between a torque producing air gap of the motor and one ofthe rotor bearings, light sources are placed on one side of the encoderdisc and light detector devices are placed on the opposite side of theencoder disc as above. Further, there are at least two light detectorsgroups reading a high resolution track, where the detectors in each ofthese groups are designed to read signals from the high resolution trackwith a phase difference of at least 60 degrees. These at least twodetector groups are basically symmetrically oriented around the motoraxis, and position misreadings caused by radial movements of the encoderdisc can then be cancelled out or eliminated by adding the positionscalculated from the signals from the different light detectors oraveraging the signals.

There may in particular be only two light detector groups and then thesetwo groups should be placed essentially on opposite sides of the motoraxis, thus approximately 180 degrees apart.

There may also be three light detector groups and these may then beessentially symmetrically oriented around the motor axis, thusapproximately 120 degrees apart.

The electronic processing of the signals from the detector heads may bedesigned to give an indication having a high accuracy. It presupposesthat two analog signals are provided from the detectors, these signalshaving a considerable phase difference, preferably 90 degrees. Theprocessor circuits comprise an essentially asynchronous low resolutiondigital conversion circuit receiving the analog signals to give at leasttwo and preferably four low resolution states for each period of theanalog signals, a device arranged to decode the transitions from one oflow resolution states to an adjacent state into count up or count downcommands, a counter connected to the decoding device, the state of thecounter being incremented for each count up command and the state of thecounter being decremented for each count down command, an essentiallysynchronous high resolution analog to digital conversion system thatsamples the analog signals at regular intervals, and a synchronisationdevice that samples the state of the counter at a time so selected thatthe state of the counter represents the values of the analog signals ata time close to the times at which the analog signal were sampled by thehigh resolution analog to digital conversion systems. Finally there aredata processing means to convert the high resolution analog data toposition information.

In a position encoder there can then generally be provided a transducersuch as the system light source-encoder track-light detector and itproduces at least one analog signal which varies periodically with theposition of an encoding element, which as above for instance is a anencoder disc having periodically repeated fields having some physicallydetectable property different from the regions between the fields. Acounting circuit receives the analog signal and determines therefrom avalue which is stored and represents the position of the encodingelement as the number of periods of the encoding element from an initialor a reference position. An analog to digital converter receives alsothe analog signal for producing a digital value being a sample of theanalog signal. Evaluation means determine the position of the encoderelement by combining the digital data from the AD-converter with thevalue stored the counting circuit. The digital data will provide aposition value essentially within one encoder period, thus accomplishingtogether the value stored in the counting circuit an accurate indicationof the position.

In particular the transducer can comprise an incremental encoderproducing two analog signals that each one varies in a periodic mannerwith the position of the encoding element. Further the analog signalsshould have a considerable phase difference, such as essentially 90° orat least in the range 60-120°.

The data processing means may also be described as comprising firstprocessing means for conversion of the high resolution analog to digitalconversion data to information on the position within a basic encoderperiod and second processing means for combining the information on theposition with an encoder period given by the processed high resolutiondata with the information on the position as expressed as a multitude ofencoder periods given by the sampled counter data.

Further the fine indications of the position provided by the positiontransducer can calibrated and then the transducer is assumed generallyto comprise a modulating device such as the track on an encoder disc,some means for producing at least one analog signal varying periodicallywith the position of the modulating device and an analog to digitalconversion system for converting the analog signal into digitalinformation at repeated times, e.g. at regularly repeated times. Thedigital information will then generally represent the position of themodulating device within at least one half period of the modulatingdevice, the periods thus being for instance the periods of the fields ofthe encoder track, that is the distance between centres of adjacentfields. Digital computing means can then process the digital informationfor transforming it into digital values representing digitally a sinuswave or curve. Therefor the digital computing means comprise means forstoring information available on deviations of the periodic variation ofthe analog signal from a sinusoidal shape which has a constant amplitudefor all the periods of the modulating device.

The information stored in the storage means of the digital computingmeans may include information on variations of amplitude of theperiodically varying analog signal for different whole periods of themovement of the modulating device. The information stored in the storagemeans of the digital computing means may also include information on thesystematic deviation of the periodically varying analog signal from asinusoidal shape.

The modulating device can be an optical encoder disc or bar having aperiodically varying reflection. It can also be a disc or bar havingperiodically varying magnetisation and the magnetic flux in the vicinityof the disc or can be recorded by a hall sensors for producing theanalog signal.

The transducer can also use magnetic flux recorded by a hall sensorsituated in a magnetic circuit, the flux of which is driven by apermanent magnet and the flux intensity of which depends on a movableferromagnetic object. This ferromagnetic object can then be designed sothat the magnetic permeability of the magnetic circuit including thepermanent magnet and the hall sensor varies periodically with theposition of the movable ferromagnetic object.

An incremental position encoder system can also be designed forproviding special output signals suitable for motor control and thesystem then generally comprises some primary position indication meanswhich provide signals representing a position of some object such as anencoder disc. First data processing means, e.g. a microprocessor,working at a medium or moderate speed calculate high resolution positioninformation from the signals of the indication means at regularlyrepeated calculation times and they also estimate the change in positionfrom the most recent calculation time to the next calculation time.There are also second data processing means working at a high frequencysuch as an adder connected to suitable registers for adding repeatedlyat a high frequency a value derived from the estimated change inposition to a value stored in a register, such as a hardware register,or an accumulator, where this value is selected so that it represents anestimated position.

The second data processing means can instead be arranged to update theregister, which can also be a counter or memory location, at regularlyrepeated times, where these updating times are given by a high frequencydivide-by-n counter that divides a high frequency clock signal by avalue which is derived from the estimated change in position.

The value of the estimated position stored in the register etc. can bestored in second register at suitable times, so that this value storedin the second register can be accessed by or transferred to variousinformation requesting devices through a data bus, a local network, aserial link controller or other data transfer means.

There is advantageously also a two phase encoder simulation device whichis connected to the register or accumulator etc. holding the estimatedposition. The register etc. may then be arranged to output a signal tothe simulation device when the value stored or hold therein passes apredetermined modulo limit such as the maximum integer number which canbe represented in the register, that is the signal is then a carrysignal, so that the simulation device changes, on receiving the signal,states on its outputs or of its output signals. The limit should bechosen to either fit a resolution required by information requestingdevices or to respect limitations given by information requestingdevices, in particular a maximum counter counting range or a maximumpermissible encoder signal frequency. Also the high frequency of theadding operation can be adjusted for this fit or for respecting thelimitations.

The case using a signal representing some carry can be described in thefollowing way. The least significant bits of the register or memorylocation storing or holding the estimated position value is a registeror memory location that will obtain overflow or underflow several timesfor each full range movement of the position transducer. Each suchoverflow or underflow event will then cause a change of the state of theoutputs of the two phase encoder signal simulation device.

In the case where the high speed second data processing means updates anestimated position at intervals given by a high frequency divide-by-ncounter that divides a high frequency clock with a value derived fromthe estimated change in position, the updating of the estimated positioncan be performed caused by a change of the state of the outputs of thetwo phase encoder signal simulation device.

The first data processing means may advantageously obtain informationpermitting a comparison of the position according to the primaryposition indication means and the data representing the estimatedposition and then information can be provided which is suitable forcorrection of differences between the position according to the primaryposition indication means and the data representing the estimatedposition.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will now be described with reference to specificembodiments which are not intended to limit the invention, the scope andcharacteristics of which are set out in the appended claims, theembodiments being illustrated in the accompanying drawings in which:

FIG. 1 is a sectional view of an encoder disc assembled on a motor rotorand an insertable light emitter device mounted at a side of the motor,

FIG. 2 is a schematic front view of a dual detection head encoder innormal mode operation where the disc is rotating,

FIG. 3 is a schematic front view similar to that of FIG. 2 showing thesame dual detection head encoder in an unwanted mode of operation, wherethe disc 303 is moving vertically,

FIG. 4 is a schematic front view similar to that of FIG. 2 showing thesame dual detection head encoder in another unwanted mode of operation,where the disc 403 is moving horizontally,

FIG. 5 is a fragmentary, sectional view of a position transducer mountedat a motor and including a filament type light source having aparaboloidic reflector,

FIG. 6a is a fragmentary, sectional view of position transducer mountedon motor comprising a light source using several small filament lampsand auxiliary LED light sources,

FIG. 6b is a sectional view of the light source portion of thetransducer of FIG. 6a taken along the line b--b,

FIG. 7a is partly schematic, fragmentary sectional view of a positiontransducer mounted on a motor and including a filament type light sourcehaving reflectors which have the shapes of small parts of a paraboloidicsurface,

FIG. 7b is fiagmentary sectional view of the position transducer of FIG.7a taken along the line b--b,

FIG. 8a is a block diagram of a portion of an embodiment of the signalprocessing electronic circuits that is located close to a positionencoder,

FIGS. 8b and 8 c are waveform diagrams as functions of time of twoanalog signals obtained from position transducers,

FIGS. 8d and 8e are waveform diagrams as functions of time oflevel-discriminated signals obtained from the signals of FIGS. 8b and8c,

FIG. 8f is a diagram as function of time illustrating the count cyclesand sampling times of the electronic circuits of FIG. 8a,

FIG. 9 is a block diagram of a servo motor system including a controllerand signal processing electronic circuits that are located close to thecontroller,

FIG. 10 is a front view of an encoder disc, where one portion isillustrated in a large scale,

FIG. 11 is a sectional view of an encoder disk assembled on a motorrotor and an insertable light emitter device mounted at a side of themotor,

FIG. 12a is a diagram of two primary encoder signals as function of timeor motor shaft angle, the signal amplitudes varying along the turn ofthe encoder disc,

FIG. 12b is a diagram of a primary encoder signal similar to one of thesignals of FIG. 11, this signal having a large deviation from a sinusshape,

FIGS. 13a and 13b are diagrams of two primary encoder signals having asinusoidal-triangular shape, the diagrams illustrating an algorithm forshaping the primary encoder signals, the diagram of FIG. 13bcorresponding to a small portion of the diagram of FIG. 13a,

FIG. 14 is a diagram illustrating a way to detect errors in coefficientsof the algorithm illustrated in FIGS. 13a and 13b,

FIG. 15 is a block diagram of an encoder signal generator and

FIG. 16 is a block diagram of an alternative embodiment of an encodersignal generator.

DETAILED DESCRIPTION

In FIG. 1 a fragmentary view is shown of an encoder disc 101 assembledon a motor rotor 102 having a main part which is integral with shortstub axles 102a, 102b and movable around an axis 102c. The rotor issupported by two antifriction bearings 103 and 104, typically rollerbearings, located at each side thereof and the bearings are preloaded byBelleville or cup springs 105 in relation to the rotor. The springpreload forces the rotor 102 against the rear bearing 103. An encodermask 106 is attached to a non-rotating rear shield 107 intended to beattached to some frame part and also supporting the rear bearing 103.Recesses for the mask 106 and the rear bearing 103 are both made in therear shield 107. The rotor 102 has a basically cylindrical shape, thediameter thereof being reduced in two steps at the rear side forproducing an annular space for the light elements to be described belowand for positioning and attachment of the encoder disc 101. The encoderdisc 101 has annular shape and is secured at its interior marginalportion at the edge of the step of the rotor. As long as the preloadfrom the springs 105 is maintained, the distance from the encoder disc101 to the mask 106 will have very small variations.

An illumination device 108 can thus be inserted into the cavitygenerated by one of the mentioned steps between the rotor 102 and theencoder disc 101 by a rotation of the illumination device around an axis109. A light detector 110 can be mounted in a recess 111 accessible fromthe outside of the motor, from the rear side of the rear shield 107. Inthis recess, the axis 109 for turning the illumination device 108 isalso accessible. This permits insertion of the rotor into a statorassembly consisting of a front shield 112, a stator case 113 and astator 114 while the rear shield 107 is still not mounted. When therotor is positioned in its place, the rear shield 107 can be insertedwith the illumination device 108 turned away from the motor axis 102c,so that it does not engage with the encoder disc 101. This isillustrated by a second illumination device 115, that is turned 180degrees from its operating position. After the rear shield has beenmounted, this second illumination device 115 is turned back an angle of180 degrees about its axis 116 to point in a direction towards the motoraxis 102c and is locked into the position required for the illumination115 device to operate properly. It can for example be arranged byturning the device to a stop position where some part of the devicerests against a stop pin (not shown) attached the rear shield 107.

Conventional separate incremental encoders have a shaft and a bearingsystem that are connected to the device to be monitored, for example, anelectric motor, by a coupling that isolates the encoder shaft and itsbearings from variations in radial or axial forces. This is not the casewith a motor as shown in FIG. 1. Large and pulsating radial forces willin many applications affect the front end 102b of the motor shaft, wherea driven device is to be connected, eventually creating unwanted radialmovements of the encoder disc 101 in relation to the mask 106.Therefore, a velocity value is obtained depending not only on therotation of the encoder disc but also, if the disc is moved radially, ona mechanical play in the bearings or a deflection of the motor shaft dueto radial loads. In the case of high gain high bandwidth servo systems,it can easily cause violent resonance phenomena.

The effect can however be eliminated by having a second detection heador system, the second detection system comprising a second mask like 117and a second light detector 118.

In FIG. 2 a schematic front view of a dual detection head encoder isshown. Each of the two detector heads 201 and 202 includes at least twodecoding channels some 90 degrees offset from each other.

In the desired mode of operation, the disc 203 rotates. The small arrowsin the heads 201 and 202 both indicate the detection of a clockwiserotation. A simple averaging of the position values from the twoencoders should then give a satisfactory result.

In FIG. 3 the same dual detection head encoder is shown in an undesiredmode of operation, where the disc 303 is moving vertically. The smallarrows in the heads 301 and 302 now indicate the detection of aclockwise rotation for head 301 but a counterclockwise rotation for head302. In the case of a single head encoder only having one encoder head301, the result should have been an erroneous indication of a clockwisemovement. A simple averaging of the position data from the two encoderheads should however give a satisfactory result; in this case head 301would record a clockwise movement that would be cancelled out by anequally large counterclockwise movement recorded by encoder head 302.

In FIG. 4 the same dual detection head encoder is shown in anotherundesired mode of operation, where the disc 403 is moving horizontally.The small arrows in the heads 401 and 402 now indicate no detection ofany rotation for either head 40 1 nor head 402. As any non-rotating diskmovement can be divided in a vertical component as shown in FIG. 3 andone horizontal component as shown in FIG. 4, all non-rotating diskmovements will create a net signal that is basically zero in the dualhead system, when an averaging is made of the signals from the twoheads.

FIG. 5 is sectional view of a detail of a position transducer having acommon rotating encoder disc 503 attached to the rotor 505. As theinertia of the encoder disc 503 is small and as it is mounted rigidly tothe motor rotor with an extremely short and stable large diameter shaftconsisting of the rotor step portion 505, the resonance frequency of themechanical system rotor/encoder can be kept very high.

The combination of a short distance between the encoder disc and therotor and the high temperature inside the motor will in mostapplications exclude the common light sources used in high resolutionencoders. A tungsten filament lamp, bulb or incandescent lamp with acollimator lens will be too long. Separate LED's for every informationchannel are in most cases excluded as the temperature rise due to thepower dissipation of the light emitting diodes added to the high ambienttemperature close to the rotor will reach levels that are unacceptablefor presently available LED materials.

The use of lamps for the light channels required during normal operationpermits the encoder light source to operate in temperatures up to thepermissible storage temperature of the LED's. Present available magnetsand insulation materials permits the interior of an electric motor toreach 150 degrees Celsius or higher, while the permitted storagetemperature for presently available LED's are limited to 125 degrees or150 degrees Celsius. The possible output power of the LED's in asurrounding at 150 degrees C. is therefore zero, and also much lowerinside motor temperatures puts severe restrictions on the output powerof the LED's.

The light source illustrated in the sectional view of FIG. 5 solves thisproblem by using a tungsten filament lamp 509 and a basicallyparaboloidic reflector 501 that directs light beams 502 through theencoder disc 503 and the stationary mask disc 504. The transmitted lightis directed to the detectors indicated at 508. To reduce the temperaturefor the detectors 508, they are mounted on the outer side of a structure506, which for example may be the motor rear shield 107 depicted in FIG.1, that to some extent shields the heat from the motor windings, whichare indicated at 114' in FIG. 1. The outer surface of the structure 506should be considerable less hot than the interior of the motor and inparticular around the reflector 501. A thermal insulating layer 507 canbe added on the exterior, rear side of the structure 506, to furtherisolate the detectors 508 from the motor heat. Holes 510 in thestructure 506 permit light reflected by the reflector 501 to reach thedetectors 508.

After assembly of the motor, the light source can, as has been describedwith reference to FIG. 1, be rotated around an axis 511. The lightsource thus comprises a short shaft 511a having a exterior thread at itsone end, the other end being connected to a part 511b extending radiallyfrom the shaft 511b. The shaft passes through a hole in the sidestructure 506. The filament lamp 509 and the reflector 501 are attachedto the laterally extending part 511b, the reflector 501 for instancebeing made as an integrated part thereof such as a properly shapedsurface coated with some light reflecting material. The extending part511b can turned to its operating position by turning a tool like ascrew-driver that is operated against a track 512 in the end of theshort shaft 511a. A nut 514 is screwed onto the part of the shaft 511aprotruding through the hole and locks the shaft and thus the whole lightsource element in the correct position, where the filament lamp 509 islocated on one side of the encoder disc 503, by tightening the nut 514,for instance by a suitable key or a tool that operates on a track 513 inthe exterior side of the nut 514.

In FIGS. 6a and 6b sectional views are shown illustrating anotherembodiment of a light source for the transducer. The light for thesignals that are required for continuous operation are given by twominiature filament lamps 601 and 602 and is reflected by small flatmirrors, not shown, for example made as pads on a circuit board 603. Thelight from lamp 602 passes through an opening 605 in the illuminationdevice coves 604. It then passes a high resolution track on the encoderdisk 606 and the encoder mask 607 and an opening 608 in a rear structureas above to finally reach a light detector 616. The lamps 601 and 602illuminate two high resolution encoder phases.

The embodiment shown refers to an encoder attached to a brushless DCmotor, such motors for instance being disclosed in the InternationalPatent Application No. PCT/SE91/00683. It is for such transducers commonto add additional channels on the encoder disk to control thecommutation of the current to the windings in the motor. Two of thethree commutation signals required are illuminated by LED's 609 and 610.The light used for the zero pulse channel and the third commutationsignal comes from a common miniature lamp 611.

Assuming that a zero pulse has been detected and that the counter systemdoes not loose count pulses, the commutation signals to the motor can bederived from the high resolution track counter chain. The commutationsignals are then only necessary from main power up to when motorcontroller computer has been able to move the rotor to the first zeropulse.

The LED light sources 609 and 610 permits a limited tracking of theposition during main power off. By having the commutator channel LED'spowered on for some microsecond every 10 milliseconds during main poweroff, and using these signals as a low resolution incremental encoder,the controller system can track the movements enforced on the shaftduring power off. The maximum permissible speed is low, but in mostapplications the movements forced on servo motors during power off areslow. Using low power light sensing electronics, CMOS control andcounters and with low duty cycle for the LED's, the total supply currentfor such a back-up power position tracer is in the order of one or a fewmA, thus permitting weeks of operation on the current available from asmall NiCd-battery pack. After main power on, the position is known towithin one commutation sector. By having several zero pulses and usingauxiliary information like the commutation sectors to distinguishbetween the different zero pulses, full position information isestablished after only moving a fraction of a turn. For example, normalthree-phase rectangular commutation has six unique combinations. Usingthis information, six zero pulses can be used; the state of thecommutation channels at the time of the zero pulse makes it possible toidentify which of the six zero pulses that gave the signal.

As an alternative to a single encoder disc track using three binarylight detectors, a single encoder disc track having a transparency thatduring one turn increases continuously or stepwise for one whole turnand then abruptly decreases can be used. Such a track can be read withone or two light detectors able to send intensity information to thecontrol computer. Such devices can also during a low power mode beenergised with a low duty cycle. If the encoder disc moves during lowpower mode, the changes in transparency detected by this one device canbe used to record movements of the encoder disc. The embodimentillustrated in FIGS. 6a and 6b has only a few openings that permitslight to leave the light source.

The opening 605 permits light from the lamp 602 to possibly pass theencoder disc 606 and the encoder mask 607 to reach the light detector616 through a hole 608 in the rear shield 612. The opening 613 permitslight from the LED 609 to possibly pass the encoder disc 606 and theencoder mask 607 to reach a light detector 615 through the hole 614. Inall there are six hole pairs, two for the high resolution channels,three for the commutation and one for the zero pulse. Thus, fourremaining hole pairs are not visible in the figures. The cover 604reduces stray light around the encoder that otherwise could reduce thedark-to light contrast seen by the light detectors.

The hole pairs like 605 and 608 act as substitutes for condenser lenses.The very limited space in the encoder light source device and thelimited precision of the position of the tungsten filament in miniaturelamps will make conventional condensers very expensive.

The proper operation of the incremental optical encoders requires lightthat is essentially perpendicular to the surface of the encoder disclike 606 and the encoder mask like 607. Light that deviates much fromthe direction perpendicular to the encoder disc surface will reduce thecontrast of the encoder. The movable encoder disc like 606 has at leastone track with a multitude of adjacent fields of high and lowtransparency. Light that passes through one of the fields that have ahigh transparency will pass to the air-gap between the encoder disc 606and the encoder mask 607. Most of the surface of the encoder mask has alow transparency, but there is at least two openings (as shown in FIGS.6a and 6b these two openings face the lamps 601 and 602). These openingshave several adjacent fields of high and low transparency, normally withthe same pitch as the fields of the movable encoder disc. Depending onthe position of the movable disc relative to the mask, the light thathas passed the transparent fields in the encoder disk will be more orless absorbed by low transparent fields in the encoder mask opening. Theat least two mask openings are normally being spaced apart relatively toeach other so that the light transmitted through the two openings willbe basically 90 degrees out of phase to each other.

If the light would be perfectly perpendicular to the encoder disc andencoder mask surfaces (and if the wave aspect of light could beignored), the amount of light that would reach a light detector like 616behind the encoder mask would only depend of the degree in which thelight passing through the encoder disc would hit a low or hightransparency field in the encoder mask opening. The distance between themovable encoder disc and the encoder mask would be irrelevant. In mostencoders, the distance between the encoder disc 606 and mask 607 is farfrom negligible when compared to the distance between the hightransparency fields of the high resolution track. Light that hasmoderate deviations from being perpendicular against the encoder discsurface can therefore pass highly transparent fields of both the encoderdisc and the encoder mask even when the encoder disk is in a positionthat would cancel light that is perpendicular to the encoder discsurface. Such light will reduce the contrast between maximum and minimumlight transmitted through an encoder mask opening.

The purpose of a condenser is therefore to capture as much of the lampor LED light as possible and to arrange it to a set of basicallyparallel light rays. In the embodiment shown in FIGS. 6a and 6b, thehole pairs like 605 and 608 will have a similar effect. Light from lamp602 that is not almost parallel to the axis 624 will hit the black wallsof either hole 605 or hole 608, and most of this unwanted light willtherefore be absorbed. The frame 617 will reduce the leakage of lightfrom one light detector to adjacent detectors.

The high temperatures inside the motor puts severe restrictions on theoutput power of the LED's. This does however not pose a problem for thedesign according to FIGS. 6a and 6b, as the LED's are switched offduring normal operation and only are operated during power-off andstart-up.

The high temperatures used in some motor applications can however affectthe semiconductor devices used for the detection of light. It istherefore desirable that the encoder electronic circuits are isolatedfrom the hot motor stator and get a good thermal connection to therelatively cold ambient air. Such an arrangement is shown in FIG. 6a. Asheet 623 with poor heat conductivity, i.e. a thermally isolating sheet,is attached to a side, as seen in the Figure the bottom side, of theencoder signal processing cavity. The electronic circuits are located ona circuit pattern board 625 attached at an opposite side of the cavity,the light detectors 615 and 616 being mounted at the side of the boardfacing the large space of the cavity. Most heat generating componentslike the one indicated at 618 do not face the large space of the cavitybut are placed on the rear or upper, as seen in the Figure, side of theboard and are there almost in contact with the inner side of the metalcase lid 620, the other side of which is in contact with the ambientair. The thermal connection is further increased by a thermallyconductive but electrically isolating compound 619 filing the smallspace between the rear or upper side of the circuit board 625 and theinner side of the metal lid 620. The metal lid 620 is kept at a smalldistance from the hot rear shield 612 by an O-ring 621. The onlymetallic thermal path from the rear shield 612 to the metal lid 620 isprovided by screws 622 for attachment of the lid 620 to the rear shield.

The thermal impedance to ambient air can further be reduced by addingcooling fins (note dotted line fin 626, for example) to the outersurface of the metal lid 620 and/or by adding a fan (note dotted linefan blade 627, for example) on the rear shield. If the fan is placed atthe centre of the rear shield, the ambient air will first hit the metallid 620 and then reach the outer parts of the rear shield where thestator heat is conducted into the shield. Such an arrangement willensure a temperature of the encoder electronic circuits that is close tothat of the ambient air. Liquid coolant from a source such as shown bydotted line source 628 of FIG. 6a can also be used.

In FIG. 7 yet another embodiment of a light source for a positiontransducer is illustrated. The light for the signals is given by a lamp701 and is reflected by six small highly reflective inclined surfaces ormirrors 702-707. These surfaces are interior surfaces of a moulded part708. The part has an internal cavity that can be white or some otherbright reflective colour of the material of part 708 or be a reflectivecoating on the part. The cavity 709 is covered by a non-transparent lid710 in which holes like 711 permits the light to exit in positionscorresponding to openings in the encoder mask 712. The outside surfacesof the parts 708 and 709 are preferably light absorbing to limit theamount of not wanted stray light to flow in the space between the lid710 and the encoder disc 713. The wires to the lamp can be connected tothe encoder electronics through a channel 714.

As is obvious for those skilled in the art, the short light source canbe designed in many other ways than that shown in FIGS. 5, 6a, 6b, 7aand 7b.

The design according to FIG. 5 can have two or three LED's inserted topermit the same power off tracing as that of FIGS. 6a and 6b.

The light sources as described have been inserted into the slot betweenthe rotor and the encoder disc by rotation around an axis parallel tothe motor axis. The light source can alternatively be put in place by alinear movement basically perpendicular to the motor axis.

Unlike most optical incremental encoders, the light source embodimentsof FIGS. 5, 6a, 6b, 7a and 7b all lack condenser lenses. As is obviousfor one skilled in the art, the light sources can be modified to includecondenser lenses. Such lenses can be added in many ways. One way isinserting lenses in the openings like 605 and 613. Other alternatives isto place a moulded transparent plastic device with a set of integratedlenses on top of the lid 604 or on top of the lid 710; in such a case itcan be advantageous to let a small cylindrical section of each lens bodypenetrate the topmost part of the holes like 605 and 613 to ensure acorrect placement of the lens device.

The light source embodiments of FIGS. 5, 6a, 6b, 7a and 7b all usetungsten lamps. The light sources can however be modified to only useLED's. One way to replace the lamps 601 and 602 by LED's and to replacelamp 611 by two LED's. The use of LED's will be more attractive if hightemperature LED's would become available or if a more light sensitivedetectors are used; if the power dissipation of the LED's can be keptdown to a few milliamperes and the thermal resistance to ambient couldbe kept reasonably low for example by a metal design of lid 604, thetemperature rise of the LED could be restricted to a few degrees thuspermitting operations up to temperatures well above 100 degrees of thelight source heat sink 612. Miniature LED packages comprising anintegrated lens for each LED offers another possibility.

The light sources can operate with other light sources than tungstenlamps or LED's, for example with electroluminescent surface devices orsemiconductor lasers. The light direction devices can regardless of thetype of primary light source be based on dark tunnel devices like613-614, condenser lenses, a combination thereof or for inherentparallel light sources like semiconductor laser, be eliminated.

In FIG. 8a a block diagram is illustrated of an embodiment of the signalprocessing system suitable to be located adjacent to the motor or in acavity in the motor rear shield like 111 of FIG. 1. The embodimentpermits fully digital data transfer. Signal-waveform diagrams asfunction time are shown in FIGS. 8b-8f.

The primary encoder light signals A₁ and B₁ (1 for light) are connectedto two light-to-voltage transducers 801 and 802. These transducers,which may be photodiode-amplifier combinations, give analog voltageoutputs A_(a) and B_(a) (a for analog), the time diagrams of which areshown in FIGS. 8b and 8c respectively.

The analog values are fed to two comparators 803 and 804. The comparatoroutputs A_(b) and B_(b) (b for binary) defines four logic statesillustrated in the waveform-time-diagrams of FIGS. 8d and 8e as 821,822, 823 and 824 for each basic encoder period 825 by comparing the twoprimary signals A and B to some reference voltages A_(r) and B_(r).Depending on the characteristics of the A_(a) and B_(a) signals, thesetwo levels A_(r) and B_(r) may be generated by two DA-converters 805 and806, be a fix reference voltage or may be connected to signal ground.

A clock signal from the motor controller is received by a circuit 807,and a serial data line communicating command information from the motorcontroller is received by a circuit 808. The output signals of thecircuits 807 and 808 are interpreted as command clock and command databy the two reference levels DA's 805 and 806 and by two analog dataconversions systems/multiplexers 809 and 810. The systems 809 and 810include a serial command interpreter that identifies commands receivedfrom the receiver circuit 808 to select a requested analog input channellike 811 using an internal analog multiplexer, to sample the selectedinput at a time precisely defined by the command data obtained via thereceiver circuit 808 from the motor controller and the clock signalobtained via the receiver circuit 807 from the motor controller and totransmit serial data corresponding to the selected analog input to theoutput terminals 826 and 827 of the conversion systems/multiplexers 809and 810 respectively.

During the time indicated as 830, see the diagram of FIG. 8f, theconverter 809 samples the signal on its input 815, i. e. the signalA_(a) in point 831 of FIG. 8b and the converter 810 samples the signalon its input 811, i. e. the signal B_(a) in point 832 of FIG. 8c. Datafrom the two AD-systems 809, 810 will be sent to a data compressioncircuit 837. To avoid irrelevant complexities in FIG. 8a, the datacompressor chosen is a simple two channel dual input digital multiplexercontrolled by the clock signal forwarded by the clock receiver circuit807. When the clock signal is high, a line driver circuit 838 sends datafrom output terminal 827 of the conversion system 810 to the motorcontroller; when the clock signal is low, the line driver 838 sendsinstead data from output terminal 826 of the conversionsystem/multiplexer 809 to the motor controller. In a similar way, whenthe clock signal is high, a second line driver circuit 839 sends dataoutput from the comparator 804 for the B-channel signal to the motorcontroller and when the clock signal is low, this line driver 839 sendsdata from the comparator 803 for the A-channel to the motor controller.

The comparator data transmitted by line driver 839 will be decoded inthe motor controller and will be fed to a counter chain, not shown. Thevalues in this counter is illustrated as graph 840 in the diagram ofFIG. 8f. In the first time shown in the Figure, the counter state is"i". When the comparator 804 for the B-channel changes state, (at thetransition from time segment 821 to 822 in FIGS. 8d and 8e), the datasent to the motor controller from the line driver circuit 839 willchange, and the counter will after some delay change from state "i" to"i+1".

To obtain a high resolution position information, the value of thisinternal counter is latched at time 840. The delay from the analogsampling time 830 to the counter latching time 840 is intended to covertime lost due to delays in the comparators 803 and 804, delays in thedata compressor 837 etc.

The control computer, not shown, can read the position at time 830 astwo parts. One part is read through the counter data latched at time840, and corresponds to a conventional standard decoding electronicsthat gives 4 count pulses per encoder period 825. This can be regardedas an integer part of the position. The other part is read from theAD-converters 809, 810. This gives the AD-converter values of the basicanalog signals from the encoder. After a suitable digital signalprocessing of this AD-data to adjust for bias, scale factors and thenormally non-linear characteristics of the analog output from theencoder (it can often be approximated as a sinus), these data providewhat can be regarded as the fractional part of the position. Due todelays in data compression, cabling, etc., the analog signal sampledmight represent a fraction value from the AD converter that is slightlyoutside the interval 0.0000 to 0.9999. The actual position is obtainedby adding this value (in the range slightly below zero to slightly above+1) to the integer value read by latching the counter state at time 840.

The basically simultaneous latching of counter data and basic analogsignals A_(a) and B_(a) assures that the fraction value obtained fromthe processing of AD-data corresponds to the simultaneous integer valuefrom the counter.

This construction permits very high angular resolutions. A 5000 lineencoder followed by an AD having a 13 bit net resolution (after scalingand compensation for the non-linear slope) of a quarter period like 821gives a total resolution of more than 27 bits on a single turn rotation(5000*4*213). This angular resolution corresponds to resolving an earthsurface distance of 0.25 meters seen from the centre of the our planet.Using a 200 μs interval between two position readings, a 15 rpm rotationwill in this case give a speed value of 15/60*2²⁷ *0.0002 or 8000 ±1units compared to 1 ±1 in the conventional use of the same 5000 lineencoder. Such an embodiment of the invention represents 3000 rpm as aspeed 800,000 times the basic speed resolution.

If the AD-conversion and multiplexing systems 809 and 810 are fasterthan the position update interval required by the motor controller, anextra AD-conversion at time 841, see FIG. 8f, can be performed beforethe next reading of analog position signals at time 833. These spareconversions can be used to monitor motor temperature through a line 814,monitor lamp voltage through line 818 or to check data from the threecommutation channels 812, 816 or 817 or the zero pulse channel 813,these signals and connection lines all being inputs to theAD-conversion-sampling-multiplexing systems 809 and 810.

In the case where two encoder heads are used, as illustrated in FIGS.1-4, two additional DA's like 806 and 807, additional amplifiers andadditional multiplexer inputs like 811 and 815 are sufficient forhandling the additional encoder head. No extra cabling from transducerto the motor controller would be required.

If we assume that low power CMOS devices are used, the encoder electricand electronic circuits can be constructed having a negligible currentconsumption during the time periods when the lamps and LED's are off andin the case where clock and data lines are static. This permits a simplelow power low resolution position tracking by enabling the two LED'sdriving signals 812 and 816 for some microsecond synchronised with adata and clock burst that results in the sampling of the input signalson lines 812 and 816 at the end of the LED power pulse.

As is obvious for one skilled in the art, the data capture and datacompression can be performed in many other ways than that illustrated inthe diagram of FIG. 8a.

The fundamentally simultaneous latching of the basic analog signalsA_(a) and B_(a) can be made by using two single monolithic samplingAD-converters/multiplexers 809, 810 as shown, a single monolithicsampling dual channel AD-converter designed for stereo recordings or bytwo Sample Hold circuits, the outputs of which are fed to a multiplexerthat feeds in turn a single AD-converter which is arranged to convertthe two output signals one after the other. The Sample Hold functionscan be eliminated if the AD-converters used are fast enough (flashconverters). The data compression, the circuit 837, can be eliminated,by using separate chip select receivers for each AD-converter orDA-converter and having separate drivers for the signals A_(b), B_(b)and the two AD-converted signals 826 and 827 output of theconversion/multiplexing systems 809, 810 respectively. In the otherextreme case, a sophisticated data compression can run its own clock andmix all output data and clock to a self clocking single channel datastream that possibly can be transmitted on an optical fibre.

In FIG. 9 a block diagram is illustrated of a servo motor systemincluding a transducer circuit like the one described with reference toFIG. 8a and a controller. The left part of these Figure refers to theparts in or adjacent to the motor. In the following, reference numberstarting with 6 or 8 refers to items described above with reference toFIGS. 6a and 6b or 8a; 601 is for example a tungsten filament lampilluminating one of the high resolution encoder channels and 801 is thelight-to-voltage transducer, sensor or detector shown at the top of FIG.8a.

The low resolution encoder track illustrated schematically at 901, seealso the description of FIG. 10, item 1002, is engraved on the movingencoder disc like 503. One or two of the three holes in the mask shownat 902, see also FIG. 5, the mask disc 504, will always be covered bythe non-transparent part of the low resolution track 901. The movinghigh resolution track indicated at 903, compare item 1001 of FIG. 10,will together with the encoder mask 904 generate two conventional analogencoder signals from the transducer units 801 and 802.

The signal processing unit 905 comprises principally the circuitsdepicted in FIG. 8a and has thus already been described. Power to thisdevice is delivered through a (shielded) transducer cable 906 from abattery supported power supply 907, that also powers a microprocessor908, a transducer data transfer device 910, a position counter 911 and(even though not necessary) a position latch 912.

If two encoder heads as is illustrated in FIGS. 2, 3 and 4 are required,the two extra high resolution detectors 921 and 922 for the extra headcan be connected similarly to the light detectors 801 and 802. The item923 is the same high resolution encoder disc as is indicated at 903 butin another position as shown in FIG. 3. The high resolution encodermasks for the two encoder heads are illustrated at 904 and 924.

Calibration data as will described below can be stored in a memory 920.

The transducer data transfer device 910 stores commands from themicroprocessor 908 and transfer these commands to the clock and datareceivers 807, 808 of FIG. 8a, that via the receiver circuits cause thesignal processing unit 905 to sample the analog encoder signals A_(a)A_(b) from the transducers 801, 802 at regular intervals like the times830 and 833 of FIG. 8f.

The transducer data transfer device 910 will also receive data from thedriver circuit 839 of the data processing unit and unpack the datastream to recover the state of the signals output from the twocomparators 803 and 804. These recovered states will act as inputsignals to the position counter 911, that after some delays will countup or down depending on the state changes of the signals from thecomparators 803, 804. The counting operation of the counter 911 istherefore basically asynchronous in relation to the periodic sampling ofthe analog values of A_(a) and B_(a) at times like 830 and 833 made bythe AD-converters/multiplexers 809, 810. The state of the counter 911 islatched into latch 912 at times like 840 of FIG. 8f that aresynchronised with the sampling times like 830 in the manner describedabove with reference to FIG. 8a.

Further, the transducer data transfer device 910 will receive data fromthe driver circuit 838 and unpack the data stream to recover data fromthe two multichannel AD-converters 810 and 809. These recovered datawill after some delay be stored in some register inside the datatransfer device 910. The microprocessor 908 may preferably obtain a highpriority interrupt and should then read the AD-data that are accessibleto the microprocessor 908 through a data bus 913. The state of theposition counter 911 at the time like 830 when the received data wascaptured is also available on the data bus 913 through the latch 912.

The counter chain 911 and its latch 912 are required because of thecomparatively very short time per period of the primary signal. Mostresolver systems used at high speeds have only one period per turn. Adedicated microprocessor can therefore count the periods in software; at8000 rpm one resolver period per turn gives 7.5 ms per period, which iseasily handled as a low priority real time task for any microprocessorthat is used in modern high performance servo systems. For an opticalencoder of the kind described herein, even a 1000 period optical diskwill give 7.5 μs per period at 8000 rpm. The basic control algorithmswill take several tens of microseconds for any currently availablemicroprocessor in the cost range normally found in a servo controller,and to use a software routine to update a position counter and to keeprecord of the analog sampling events in relation to this positioncounter at such rates is beyond the scope of such processors.

The microprocessor 908 can control the torque of the motor in theconventional way by a three-phase switch network 915 that controls thecurrents to the motor windings illustrated at 916, compare theInternational patent application PCT/SE91/00683.

The system permits advanced compensation against long term drift oftransducer parameters. The microprocessor can periodically check thelamp voltage by the signal on input line 818 and can if necessary adjustthe voltage to the desired value by sending commands to the lamp supply914. The actual values of the primary analog signals A_(a) and B_(a) arecontinuously monitored by the AD's. Suitable software can detect andcorrect against changes in transducer system parameters. Lower signalsdue to aged lamps can be compensated by sending adjusted level commandsto the two DA-converters 805 and 806 that define the turn over point ofthe comparators 803 and 804. A transducer calibration run can beimplemented, for example at power on or when so commanded in a periodicmaintenance routine. In such a calibration run, the conformity of theprimary encoder signals can be checked and correction data can beadjusted. In this way it is possible to compensate for differences inthe primary waveform shape for different sectors of one rotation turn.

As is obvious for one skilled in the art, the basically simultaneouslatching of the digital counter data can also be implemented in manyways. The implementation of the timing generator inside 910 that sendsthe command sequence received by AD converters 809 and 810 and thatissues the latch command 916 can be made in so many different ways thatthe author of this text finds it unlikely that even two of the designsmade by five independent designers should look very similar to eachother.

The input stages of the counter 911 that create count up/down pulsesfrom the comparators 803, 804 converting the four comparatorcombinations to up down pulses might have to temporarily block the updown pulses if the following counter chain is not fast enough to ensurethat all stages in the up down counter will be changed between thenormal regular time slot when the up down pulses are generated and thetime slot when a signal like that one on a line 916' will latch thestate of the counter chain inside the counter 911 into a latch like 912.The two lowest or least significant bits can be obtained from thecounting of up down pulses, but can also be obtained by a logic networkprocessing the signals representing the states of comparators 803 and804. The position counter 911 can contain all bits required for thetotal position range required. Alternatively, it can contain a limitednumber of the lower bits, and as a third alternative it may be resetbetween each latching of data into the output latch like 912 and thenext following count up/down pulse, thus only giving the change in theinteger position value since the previous latching; in both latter casessoftware is used to update the higher bits of the position data.

Many signal processors include serial input registers and interrupttiming generators. The AD-data register of the transducer data transferdevice 910 and part of the timing network can therefore be implementedusing standard signal processor hardware.

The zero pulse detector is not shown in FIG. 9. The low resolutionchannel track 901 has three detectors 609-611. Two of these areilluminated by LED's 609, 610. The microprocessor 910 can switch the LEDcurrent generator 918 on and off by a signal on a control line 917providing a very low duty cycle during main power off to permit trackingof the rotation movement caused by external forces during main power offas described above with reference to FIGS. 6a and 6b.

In FIG. 10 a front view of an encoder disc like that shown at 503, FIG.5, is shown. The high resolution track indicated at 1001 is also shownat 903 in FIG. 9. The low resolution track 1002 can be used for mainpower off position tracking and for commutation purposes. The embodimentshown of the low resolution track has 10 periods suitable for a motorhaving 20 magnetic poles. The disc has six different zero pulse patternslike 1003. These six patterns are placed fairly but not entirelyregularly around the disc. The radial lines 1011-1016 passing throughthe zero pulse pattern centres intersect the low resolution track at sixdifferent phase angles. For example, line 1011 intersects a transparentsector at the clockwise end, line 1012 intersects a transparent sectorat the counter-clockwise end and line 1015 intersects a transparentsector at the centre. By reading the value of the commutation signals,the microprocessor can identify that one of the six zero pules patternsthat gives a peak signal to a zero pulse light detector producing asignal like the one on line 813 in FIG. 8a.

In FIG. 11 a sectional view is shown, as seen in a section through therotational axis, of an encoder disc 1101 assembled on a motor rotor 1102integrated with short stub axles 1102a and 1102b. The rotor is supportedby two antifriction bearings 1103 and 1104 located at each side thereof.An encoder mask 1106 is attached to a non-rotating insert 1105 that isrigidly attached to the rear shield 1108, that supports the rear bearing1103. The rotor 1102 has a basically disc-formed shape, the diameterthereof being reduced, at the rear side, in a first step 1102b to fitthe bearing 1103 and in a second step 1102a for producing an annularspace for the light elements 1107a and 1107 b.

An illumination device 1107 can thus be inserted into the cavitygenerated by the second step between the rotor 1102 and the encoder disc1101 by a rotation of the illumination device around an axis 1109. Theprinted circuit board comprising the electronic components for theprocessing of the light signals is mounted directly to the lid 1111.

In the enlarged part of FIG. 11 an illumination device is illustratedhaving LED's as the light source. Each LED is inserted in a package 1112having an integrated lens 1113 acting as a condenser lens.

In prior art very high resolution encoders much effort has been made toprimary analog signals having constant amplitudes (for example for allperiods around the full turn of a rotary encoder) and with a shape thatis very close to a sinus signal with a very low distortion. With suchsignals, the position within a period of the primary signal can be foundusing "multiplication" hardware or software that uses the functionarcsin or similar functions the values of which are stored in look-uptables.

Several conditions have to be fulfilled if such signals will beobtained, and some of these conditions will increase the production costof the encoder system and/or put restrictions on the size of the encoderelements. It would therefore be advantageous to provide a signalprocessing system which can accept other signal shapes. Such a systemcould advantageously also accept signal shapes which can be permitted tovary somewhat from one encoder to another in the same batch withoutreducing the resolution or precision of the device.

This is accomplished with a calibration procedure. The encoder can afterfinal assembly be turned slowly with a constant speed or it can bemechanically coupled to a very precise calibration transducer and thenrotated. The primary signals can be read for a large number of positionsclose to each other, and data thus obtained can be processed to givesuitable coefficients to calibration algorithms that can be executedvery rapidly during normal system operation.

The choice of algorithms depends on the characteristics of thetransducer type, its mechanical tolerances etc. The complexity of thealgorithms, for example the number of terms required, depends on therequired linearity and the properties of the primary signals.

The coefficients obtained from this calibration routine can be stored inthe servo controller. It is however preferable to store the transducertype and its coefficients in the transducer, for example using a nonvolatile memory. This information can be downloaded to the controllerafter power up. Storage in the transducer ensures that all transducersalways are processed using the correct algorithm and coefficients.

The linearisation of primary encoder data can be accomplished by usingnon-utilized capacity in the signal processor which is often availablein present art servo controllers.

The method to obtain a high resolution or precision from basic analogsignal deviating from a sinusoidal shape is applicable to alltransducers that detects rotary or linear motion by using at least twoperiodic primary signals with a phase difference in the order of 90degrees, and optical incremental encoders is one common such transducertype.

The principle will now be illustrated by two algorithms. The descriptionbelow is only one possible embodiment of the basic principle of amathematical linearisation procedure applied to non-sinusoidal primaryanalog signals.

The embodiment which will be described divides the processing of theprimary signals in two steps. The first step is to correct formechanical or optical deficiencies that causes the bias or amplitude ofthe primary signals to change along the measurement path. The secondstep is to calculate the position within one primary signal period basedon two primary signals that deviates from sinus shape and/or have phasedifferences different from 90°. Such signals are not well suited toprior art "multiplication" hardware or software routines.

In FIG. 12a a picture of a primary encoder signal is illustrated, theamplitude of which varies over one turn. Such deviations can for examplebe obtained for wobbling encoder discs, i.e. discs where the opticalplane of the disc is not sufficiently perpendicular to the encoderrotation axis, thus giving different distances from encoder disc toencoder mask for different rotational angles of the encoder.

If we assume that the encoder system has means to identify a specificindex position for every whole turn (for example a zero pulse), theprocessing unit can easily correct for the wobbling deviationillustrated by the diagram of FIG. 12a. Using the known encoder axisangle φ in relation to some fixed reference angle, a sinus look-up tableand appropriately chosen coefficients k₁, . . . , k₈, an algorithm like

    A.sub.out =A.sub.in (1+k.sub.1 sin (φ+k.sub.2)+k.sub.3 sin (2φ+k.sub.4)+k.sub.5 sin (3φ+k.sub.6)+k.sub.7 sin (4φ+k.sub.8))

gives a normalised signal A_(out) from the primary signal A_(in). Ifwobbling is the dominant error source, the same coefficients k₁, . . . ,k₈ can be used also for channel B. If the wobbling disc surface is flat,the three last terms and the coefficients k₃ -k₈ can be omitted.

In FIG. 12b a diagram is shown illustrating a sinusoidal-triangularsignal shape that is far from the sinus shape normally assumed forencoder multiplication devices. To obtain a high linearity, also signalsmuch closer to a sinus signal must be normalised.

The diagrams of FIGS. 13a and 13b illustrate an algorithm handling aprimary encoder signal like the one illustrated in FIG. 12b. The curveor signal form shown in FIGS. 13a and 13b has already been processed sothat wobbling phenomena as that illustrated by the signals shown in FIG.12a have been eliminated. The signals illustrated by the curves 1309 (A)and 1310 (B) therefore have approximately constant amplitude and areapproximately centred around a zero line 1317.

The sinusoidal-triangular shape of the illustrated signals is rathertriangular or linear in the regions close to the zero axis 1317 as shownin FIG. 13b, where a segment of primarily the signal 1310 is shown in alarger scale.

A linearisation algorithm for transforming the known values from theAD-converters like 809 and 810 to a position value will now bedescribed. The primary AD data A_(an) (to be read as the normalisedanalog value of channel A) and B_(an) shown in FIG. 13 as points 1311and 1312 have already been normalised against wobbling and offset.

The data processing of one signal period is performed differently foreight, equally wide time sectors shown at 1301-1308, each sector thusrepresenting 45° of the signals. If the sampled value A_(an) is withinthe interval of +S_(d) to -S_(d) shown at 1315, which is centered aroundthe zero axis 1317, the position is assumed to be in an interval like1304 or 1308. For a 1024 line encoder there are 2048 different sectorslike 1304 and 1308, and latched data from the counter chain like 911 ofFIG. 9 will indicate the sector from which the sampled data value isobtained. If the sampled value B_(an) is within the interval of +S_(d)to -S_(d), the position is assumed to be in an interval like 1302 or1306. In the case shown neither of these conditions apply. The sampledvalue B_(an) is more positive than the upper limit +S_(d) of theinterval and the sampled value A_(an) is more negative than the lowerlimit -S_(d). The sample must be therefore be taken from a sector 1301,and again a counter like 911 will indicate from which of the 1024sectors of type 1301 the sample is taken.

In the algorithm described, the two sampled signals A_(an) and B_(bn)(the values 1311 and 1312) are processed by a linearisation algorithmthat basically corresponds to taking the sampled data value like B_(an)(to be read as the normalised analog value of the signal of channel B)and finding the distance or time length period 1316 from theintersection point between curve B and the zero line 1317. As theposition P_(b0) of the zero crossing point 1314 of curve B is known, thedesired position P_(b) can be obtained as position the P_(b0) subtractedby the distance 1316:

    P.sub.b =P.sub.b0 -(k.sub.b1 B.sub.an +k.sub.b2 B.sub.an.sup.2 +k.sub.b3 B.sub.an.sup.3. . . )

where the number of terms required depends on the shape of curve 1310.As curve 1310 is almost linear in the sections 1301-1303, very few termsare required.

Signal processors are well suited to rapidly evaluate polynomials likethe one above.

In a similar way, the position P_(a) can be obtained from the valueA_(an), some coefficients k_(a1) to k_(an) and a known value of theposition P_(a0), and the position P_(a) obtained should be very similarto the position P_(b) in sections 1301, 1303, 1305 and 1307.

In sections 1302 and 1306 P_(a) is likely to be unreliable, and insections 1304 and 1308 P_(b) is likely to be unreliable. The algorithmdescribed uses P_(a) as the position for samples in sections 1304 and1308 and uses P_(b) for sections 1302 and 1306. For the section 1301shown in the Figure, both P_(a) and P_(b) are calculated. The positionsthus obtained are added to each other in a way that gives more weight tothe channel with the shortest distance like 1316 as the positionestimate P_(b) is more reliable in the right part of section 1301 andthe position estimate P_(a) is more reliable in the left part of section1301. One such algorithm is

    P=((A.sub.an +S.sub.d).sup.2 P.sub.b +(B.sub.an -S.sub.d).sup.2 P.sub.a)/((A.sub.an +S.sub.d).sup.2 +(B.sub.an -S.sub.d).sup.2)

At the border between section 1301 and 1302, B_(an) =S_(d) and theexpression above becomes

    P=((A.sub.an +S.sub.d).sup.2 P.sub.b)/((A.sub.an +S.sub.d).sup.2)=P.sub.b

which is the same as the expression for the position in section 1302.

At low speeds, the speed is obtained as the difference between twoneighbouring positions. It is therefore important that two positionsclose to each other are not calculated using expressions that givesdiscontinuities in position estimates. Two positions very close to eachother but located on different sides of the border between sections 1301and 1302 will with the expression used obtain values that are very closeto P_(b) (for section 1301) and identical to P_(b) (for section 1302).

If a high precision is required, the position for each of the 2048values P_(a0) and P_(b0) for a full turn of a 1024 line encoder can becalibrated, for example after assembly against a known precisereference. For a linear encoder, a laser interferometer could be used areference. The calibration data can be retrieved from a table or can becalculated from an expression using constants obtained by processing ofcalibration data.

If only high resolution is required, the position P_(a0) can be assumedto be an integer given by a counter like 911, and the position P_(b0)can be taken to be P_(a0) +k_(ab), the latter constant beingapproximately 1 for transducers producing signals having a phasedifference close to 90°.

The coefficients like k_(a1), . . . , k_(bn) can be constant for allperiods of the primary signal, may be taken from a table using data fromthe position counter like 911 as index or may be evaluated usingpolynomials based on the encoder axis angle like the expressiondescribed with reference to FIG. 12a.

In FIG. 14 a diagram is shown of the estimated position (vertical axis)as a function of the angular movement or position (horizontal axis). Thediagram illustrates the effect of an error in the coefficients in theexpressions for P_(a) and P_(b). The straight inclined line gives thecorrect estimates and the "wavy" curve illustrates a case, where thecoefficients k_(a1) and k_(b1) are too large, thus giving too highinclination for the P_(a) estimate shown in section 1304 of FIG. 13a andfor the P_(b) estimate shown in sections 1302 and 1306. Such an errorcould result from drift of optical components giving more light thanexpected. This error is easily detected. Other coefficient errors can bedetected in similar ways, thus permitting corrections to be executedduring even after a calibration. For some error types corrections canalso be made with the motor installed in the end-user equipment. Suchtest runs can be made by the controller when required, for example aftermachine system reset or during a weekly check-up cycle.

The diagram of FIG. 12a shows amplitudes varying due to wobbling. Otherdeviations can also be handled by an initial calibration. Reduction inencoder disc transparency can also be tested during a periodic slowcheck-up movement, in which the amplitudes of the signals on the twochannels 801 and 802 are checked against the amplitudes expected.Deviations can be stored as an angle dependent correction gain constanttable.

In the embodiments shown, the asynchronous binary position signal thatdrives the position counter has four states for every period of thebasic encoder signal. It is sometimes preferable to use a conventionalpulse multiplication scheme to obtain for example 16 or 20 states forevery period of the basic encoder signal. This permits the use of a lowline count encoder disk or ruler, still permitting the transfer of ahigher resolution two phase signal to external devices like a NC systemcontroller or a PLC system, but requires that the primary signal isclose to sinusoidal.

In FIG. 15 a block diagram of an encoder signal generator interface unitis shown, to be used for converting the data from the transducerdisclosed above to an output signal corresponding to that of a digitaloutput incremental encoder.

In many applications there is a demand for asynchronous positioninformation with a high resolution. Multi-axis controllers aretraditionally designed to receive position information from devices likedigital output incremental encoders. In a multi-axis servo system, it isfor example possible that some of the axes have a digital motorcontroller using a transducer like the one described above. Theinformation obtained from the transducer has a very high resolution butis only available for discrete time points for which the analog valueshave been sampled. This is completely sufficient for the motorcontroller like the one shown in FIG. 9 but not sufficient for atraditional multi-axis controller. Multi-axis system controllers used invarious machine systems available on the marketplace today are oftenusing control communication signals developed to fit servo motorcontrollers based on analog control inside the servo motor driver. Inmany cases, the servo motor drivers do actually use a fully digital orpartially digital, partially analog control structure. Therefore, thecommunication between the multi-axis system controller and the servomotor driver could in theory be done using a digital data link. Even ifthese controllers can be equipped with a data link for digital positioninput, the control interval may however be different. The multiaxiscontroller may use a 333 μs control interval while the motor controllermay use a 100 μs interval.

The large number of suppliers that are compatible with the interfacesdesigned for analog servo motor drivers and the lack of commonlyaccepted interface standards have in combination with the largeinvestments made in already existing multi-axis system controllerscaused many users of multi-axis servo controllers the keep theinterfaces designed for analog servo motor drivers.

Thus, in an encoder signal generator illustrated in the block diagram ofFIG. 15 a servo motor driver processor like that shown at 908 in FIG. 9but not shown in this Figure, can access various registers in theencoder signal generator through a data bus 1501. The computer getsprecise information on the position and/or speed of the motor shaft atregular intervals.

By entering a fractional value, i.e. less than 1, into the register 1502and by indicating up or down direction into a register 1503, thecomputer can create almost equidistant carry pulse outputs from an adder1504. The adder 1504 adds the output from register 1502 to a former sumthat is stored in register 1505. Every clock pulse from the oscillator1506 will cause the sum to change. When a carry is obtained in theaddition operation in the adder 1504, it is fed to a circuit 1507 whichwill change the states of its two output terminals 1508, 1509 in a waythat will be interpreted either as a incremented or decremented positionby some multi-axis controller, not shown, reading the output signals onthese terminals. For example, the output sequence 11→01 (output 1508goes from a high to a low level while output 1509 remains high) may beinterpreted as an incremented position while output sequence 11→10 willbe interpreted as a decremented position.

An example can illustrate the operation. Assume that the registershandle values comprising 2 decimal digits. If the increment/decrementregister 1502 holds a data value=35, the sum register 1505 holds data=85and the states on both outputs 1508 and 1509 are equal to 1, i.e. have ahigh level, consecutive clock pulses from the oscillator 1506 willproduce the following sequence:

                  TABLE 1                                                         ______________________________________                                        Register 1505                                                                        85    20    55  90  25  60  95  30  65  00  35                                                    70  05                                             ______________________________________                                        Carry  1     0     0   1   0   0   1   0   1   0   0                                                     1   0                                                Output 1 0 0 0 0 0 0 1 1 1 1 1 0                                              1508                                                                          Output 1 1 1 1 0 0 0 0 0 1 I 1 1                                              1509                                                                        ______________________________________                                    

While register 1505 holds 85 and register 1502 holds 35, the adder 1504will give 20 and a carry (it cannot give 120 as it only has place for 2decimal digits). The advantage of using an adder in place of areloadable counter is that the resolution is higher. A reloadablecounter gives a carry for every n clock pulses. For 100 clock pulses, areloadable counter gives either 100/3=33 carry pulses or 100/2=50 carrypulses while the adder circuit shown can give any number between 33 and50, in the case shown 35 pulses.

A reloadable counter is however to be preferred compared to theconstruction for which a selection is made among a set of clock sourceshaving relative factors of 2 for the clock frequencies thereof and whichis disclosed in the European patent application EP-A1 0 414 953. Appliedto the example above and limited to the range 100-1, this would give thefrequency alternatives 100 (=100/1), 50, 25, 12.5, 6.25, . . . , 1.56(=100/64), etc., while a reloadable counter can give the alternatives100 (=100/1), 50, 33.3, 25, 20, 16.7, 14.3, 12.5 . . . . 1.01 (=100/99)compared to the adder solution of FIG. 15 which can give any value from99 to 1.

With presently available digital circuits, a suitable frequency for theoscillator 1506 is in the magnitude of order of 20 MHz. The multi-axiscontrollers that are to read the signals 1508 and 1509 in an encoderformat are rarely designed to accept higher frequencies that 250 kHz. Asfour carries are necessary for one complete cycle of either one of thesignals on the output lines 1508 and 1509, this represents a carryfrequency of 4×250 kHz or 1 MHz. Using a 20 MHz clock oscillator 1506,this requires at most one carry for every 20 clock pulses. A width of 8bits for registers 1502 and 12 bits for register 1505 and of adder 1504then seem to be sufficient for most applications. If the computerdriving data bus 1501 updates the system registers once every 100 μs,data=1 in the increment/decrement register 1502 will cause 1 or 0 carryduring the updating interval (2000 additions of 1 to a 12 bitaccumulator). Register 1502 data=255 will cause 20 MHz×255/4096×100μs=124 or 125 carries per 100 μs, giving an effective count frequency of1.245 MHz and an output frequency of 311 kHz. The time between twooutput changes will be one of 800 or 850 ns, thus giving a quotientbetween high and low output signals that is close to 50%.

The circuit 1507 will change the signal level on the output pair 1508,1509 depending on the carries described above and on the up/downinformation given by register 1503. The table 1 above illustrates acount up case producing an output pulse sequence 11→01→00→10→ . . . ;the table 2 below illustrates a count down case producing outputssequence 11→10→00→01→ . . . . Assume as above that the registers handlevalues of 2 decimal digits, register 1502 holds data=35, register 1505initially holds data=85 and that the levels on both outputs 1508 and1509 are initially equal to 1, consecutive clock pulses from theoscillator 1506 will give the following sequence:

                  TABLE 2                                                         ______________________________________                                        Register 1505                                                                        85    20    55  90  25  60  95  30  65  00  35                                                    70  05                                             ______________________________________                                        Carry  1     0     0   1   0   0   1   0   1   0   0                                                     1   0                                                Output 1 1 1 1 0 0 0 0 0 1 1 1 1                                              1508                                                                          Output 1 0 0 0 0 0 0 1 1 1 1 1 0                                              1509                                                                        ______________________________________                                    

In the count down case shown in table 2, a carry will initiate a statechange in the signals on the output lines 1508, 1509. The register 1502should then be loaded with small values for slow motions. Thiseliminates the risk of very short times state combinations on theoutputs 1508 and 1509. Alternatively, table 3 shows an embodiment wherethe lack of carry does initiate a state change in the signal on theoutputs 1508, 1509. A slow motion requires in this case a large value inthe register 1502, and the up/down register 1503 can be replaced withthe Most Significant Bit of the register 1502.

                  TABLE 3                                                         ______________________________________                                        Register 5                                                                           85    50    15  80  45  10  75  40  5   70  35                                                    0   65                                             ______________________________________                                        Carry  1     1     1   0   1   1   0   1   1   0   1                                                     1   0                                                Output 1 1 1 1 1 1 1 1 0 0 0 0 0                                              8                                                                             Output 1 1 1 1 0 0 0 0 0 0 1 1 1                                              9                                                                           ______________________________________                                    

Some optional extra registers are shown in the block diagram of FIG. 15.To permit an easier algorithm in the servo motor driver processordriving the data bus 1501, the encoder pulses delivered on the outputterminals 1508 and 1509 can be decoded into a position using an internalquadrature counter 1510. (It is however possible to calculate thereported position based on an algorithm that utilises data earlierissued to the registers). By storing the output of the quadraturecounter 1510 in the register 1512 at the same time as the real axisposition and/or speed is sampled by the position transducer used by theservo motor driver processor, the processor can calculate the deviationbetween the real position and the integer position reported by theencoder signal generator. If the value of the accumulator register 1505is sampled into the register 1511' at the same time as the real axisposition and/or speed is sampled by the position transducer used by theservo motor driver processor, a fractional value of the integer positionreported by the encoder signal generator can be obtained.

The position reported by the encoder signal generator can thus becalculated by the servo motor driver processor. Using the highlyaccurate position and speed information available to the processor fromits own transducers and by estimating the action of the torque on theshaft from the motor controller and external forces, the position of theshaft at the end of the next (future) control interval can be estimated.By loading a suitable value to the registers 1502 and 1503, the encodersignal generator can be set to deliver a pulse train on the outputterminals 1508 and 1509 that will cause the reported position tocoincide with the estimated future position.

Assuming a deviation between real and anticipated shaft acceleration of1000 rad/s², the resulting position error after 100 μs is0.5×1000×0.0001×0.0001=0.000005 radians=0.0000007 revolutions. If theencoder signal generator simulates a 5000 periods/rev encoder (giving20000 position events/rev), an error of 0.0000007 revolutionscorresponds to 20000×0.0000007=0.014 position events on the encoderoutput.

An optional comparator 1513 can be used to give signals when the valueof the up/down counter holds a value equal to 0 or equal to that storedin a register 1511. This register 1511 should be loaded with a valuethat is 4 times the number of periods per revolution that the encodersignal generator is to simulate. For example, if the multi-axiscontroller requires signals that simulates a 5000 periods/rev encoder,the register 1511 should be loaded with 19999. The quadrature counter1510 should use the inputs from the comparator 1513 to load end limitdata in place of incrementing/decrementing. Using the previous example,a count up event on the outputs 1508 and 1509 should increment thecounter 1510 except when the counter value is 19999 in which case thecounter should load 00000. In the same way, a count down event on theoutputs 1508 and 1509 should decrement the counter 1510 except when thecounter value is 00000 in which case the counter should load 19999 fromthe register 1511.

The output from the comparator 1513 that indicates that counter 1510data equals 00000 can be delivered out of the system on an output line1514 in order to simulate the zero pulse often available on incrementalencoders.

The encoder signal generator illustrated in FIG. 15 thus permits anaccurate simulation of the signals that would have been sent by anoptical incremental encoder placed on the servo motor shaft. Thissimulation will be accurate even in cases where the signals available tothe servo motor driver only gives position and/or speed data for somediscrete time points, for example once every 100 μs. The simulatedencoders number of periods/rev can be set by software (by a suitablescaling of data loaded into the register 1502) and the system alsoaccepts quarter periods like 3333.25 periods/rev (being a much betterapproximation of 10000/3 than 3333.00). For integer values of the numberof periods/rev, a zero pulse can be accurately simulated. The phasedifference between the two output channels can be kept close to 90°.

In the block diagram of FIG. 16 another version of the same basicconcept of generating continuous position information from positioninformation that is available only for some (normally equidistant)times. The registers 1511' and 1512 are there connected to a data busconnected to another data bus 1602 which is connected to anotherprocessor. A latching command on a line 1601 from the other processorlatches data at times which are different from the control times of themotor control processor. The other processor can for example be amulti-axes controller or a communication processor that sends data tosome other part of the system.

The position transducers as described above permit transducers, that arebasically insensitive to bearing play and slow drift of the opticalsystem components like lamps, LED's and encoder disc containation whilegiving an extremely high position and speed resolution. When integratedat the motor rotor, they also give very compact encoders with anextremely high resonance frequency. They are therefore very well suitedto high gain, extremely stiff servo applications.

I claim:
 1. A position transducer built into an electric motor, theposition transducer comprising:a transducer part having electroniccircuits for control of the transducer part and/or for receiving signalsfrom the transducer part and/or arranged to process the signals; atleast some of the electronic circuits being mounted to be coupled to afirst thermal path having a first low thermal impedance, said firstthermal path leading to a heat conductive part which is in contact withor closely adjacent to ambient air; and wherein the heat conductive partis also coupled to parts of the motor which are normally hot when themotor is in operation, the heat conductive part being coupled to themotor through a second thermal path having a second thermal impedance,said second thermal impedance being of higher value than the first lowthermal impedance of the first thermal path so that heat can beconducted away from the at least some electronic circuit through thefirst thermal path to the heat conductive part to be dissipated to theambient air and the second thermal impedance helps reduce any heat fromthe motor being conducted to the heat conductive part.
 2. The positiontransducer of claim 1, wherein the heat conductive part comprises ametal lid arranged at one side of a cavity in which the electroniccircuits are mounted.
 3. The position transducer of claim 1, wherein theheat conductive part is attached to the motor only at a marginal portionof the heat conductive part, the marginal portion having a reducedthickness in relation to a center portion of the heat conductive part inorder to form said second thermal path.
 4. The position transducer ofclaim 1, further comprising a thermal shield having a poor thermalconduction and arranged at a side of a cavity opposite to a side wherethe electronic circuits are mounted in order to thermally isolate theelectronic circuits from the motor.
 5. The position transducer of claim1, further comprising cooling fins attached to an exterior surface ofthe heat conductive part in contact with ambient air.
 6. The positiontransducer of claim 1, further comprising a fan mounted on the motor andarranged direct an air stream to a surface of the heat conductive partfor cooling the heat conductive part.
 7. The position transducer ofclaim 1, wherein the second thermal path includes an air-gap and theheat conductive part is attached to the motor through said air-gap onlythrough means having a small cross-sectional area to effectivelyrestrict the flow of heat between the heat conductive part and themotor.
 8. The position transducer of claim 7, wherein the means having asmall cross-sectional area comprise screws.
 9. The position transducerof claim 1, wherein the heat conductive part comprises a substantiallyflat lid closing one side of a cavity in which the electronic circuitsare mounted, the lid being attached to the motor only through screws ata periphery of the lid and a seal being arranged at the periphery tokeep the lid at a small distance from the motor in order to form saidsecond thermal path.
 10. The position transducer of claim 9, wherein theseal comprises an O-ring.
 11. The position transducer of claim 1,wherein the electronic circuits comprise a circuit board and electroniccomponents connected to the circuit board, the electronic componentswhich generate a greatest amount of heat being substantially mounted ata rear side of the circuit board facing and being positioned adjacent aninterior surface of the heat conductive part, the interior surface beingopposite an exterior surface of the heat conductive part and theexterior surface being in contact with ambient air.
 12. The positiontransducer of claim 11, further comprising an electrically isolatingmaterial having said first low thermal impedance and being arrangedbetween the rear side of the circuit board in the interior side of theheat conductive part for forming part of the first thermal path.
 13. Theposition transducer of claim 11, further comprising an electricallyisolating material having said first low thermal impedance and beingarranged between at least one electronic component on the rear side ofthe circuit board and the interior side of the heat conductive part forforming part of the first thermal path.
 14. A position transducer builtinto an electric motor, the position transducer comprising:a transducerpart and electronic circuits for control of the transducer part and/orfor receiving signals from the transducer part and/or arranged toprocess the signal, wherein at least some of the electronic circuits aremounted to be coupled to a first thermal path of low thermal impedancebetween the electronic circuits and a heat conductive part; and whereinsaid heat conductive part is only coupled to heat generating parts ofthe motor over a second thermal path having a second thermal impedancehigher than the low thermal impedance of the first thermal path.
 15. Aposition transducer for transducing movements built into an electricmotor, wherein electronic circuits of the transducer are assembledhaving a low thermal impedance path coupling the electric circuits to aheat conductive part which is cooled by air from a fan mounted on themotor.
 16. A position transducer for transducing movements built into anelectric motor, wherein electronic circuits of the transducer areassembled having a low thermal impedance path coupling the electroniccircuits to a heat conductive part which is cooled by a cooling liquid.